package leetcode.L500;
/*本题利用二进制加法方式，特别注意数组末尾，利用多个条件语句来解决数组长短不一致的问题，灵活使用？：的判断方式*/
public class EX67_Addbinary {
    public static String addBinary(String a, String b) {

        StringBuilder ans = new StringBuilder();
        int ca = 0;
        for(int i = a.length()-1,j = b.length()-1;i>=0||j>=0;i--,j--){
            int sum = ca;
            sum +=(i>=0?a.charAt(i)-'0':0);
            sum +=(j>=0?b.charAt(j)-'0':0);
            ans.append(sum%2);
            ca = sum/2;
        }
        ans.append(ca ==1?ca:"");
        return ans.reverse().toString();
    }
    public static void main(String[] args) {
        String a ="1101";
        String b ="1101";
        addBinary(a,b);
        System.out.println(addBinary(a,b));
    }
}
